package org.example.azapi;
//import java.util.Date;
import org.example.azapi.constants.AzDataTypeIdDateTime;

/**
 * AzAttributeValueDateTime contains an AzDataDateTime object that 
 * is intended to be used to generate the XACML #dateTime DataType.
 * @author Rich
 *
 */
public interface AzAttributeValueDateTime 
		extends AzAttributeValue<AzDataTypeIdDateTime, AzDataDateTime> {
	
	/**
	 * Set the value with AzDataDateTime object that will be used to provide the
	 * content for the Xacml DataType #dateTime
	 * 
	 * @see org.example.azapi.constants.AzDataTypeIdDateTime
	 * @param date the AzDataDateTime object intended to be 
	 * converted to XACML #dateTime datatype
	 */
	public void setValue(AzDataDateTime date);
	
	/**
	 * Return the Date object that is used to produce the Xacml dateTime
	 * DataType content.
	 * 
	 * @return    the AzDataDateTime object that contains the Date             
	 */
	public AzDataDateTime getValue();
	
	/**
	 * Return a String containing the content to be used for a Xacml dateTime DataType.
	 * 
	 * @see       AzDataTypeIdDateTime
	 * @return    a String w content conforming to Xacml DataType: dateTime
	 */
	public String toXacmlString();
}
